package com.sky.es.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

/**
 * @author yangsk
 */
public interface ProductAggsQueryEsService {

    /**
     * 桶聚合分支查询
     *
     * @return
     */
    JSONArray getQueryAggsBucket();

    /**
     * 指标统计去重查询
     */
    void getQueryAggsMatric();

    /**
     * 指标统计各种统计查询
     */
    JSONObject getQueryAggsMatricStats();

    /**
     * 统计不同品牌中的每个类型的商品数量
     * get product/_search
     * {
     *   "aggs":{
     *     "aggs_type_count":{
     *       "terms": {
     *         "field": "type.keyword"
     *       },
     *       "aggs": {
     *         "aggs_lv_count": {
     *           "terms": {
     *             "field": "lv.keyword"
     *           }
     *         }
     *       }
     *     }
     *   }
     * }
     * @return
     */
    JSONArray getQueryByNestAggs();

    /**
     * 统计不同等级的商品的价格信息(平均价、最高、最低价等)
     * "aggs":{
     *     "aggs_lv_group":{
     *       "terms": {
     *         "field": "lv.keyword"
     *       },
     *       "aggs":{
     *         "aggs_stats":{
     *           "stats": {
     *             "field": "price"
     *           }
     *         }
     *       }
     *     }
     *   }
     * @return
     */
    JSONArray getQueryTwoByNestAggs();
}
